package com.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class IteratorDemo {
    public static void main(String[] args) {
        /**
         * 迭代器遍历集合
         */
        Collection<String> objects = new ArrayList<>();
        objects.add("one");
        objects.add("#");
        objects.add("two");
        objects.add("#");
        objects.add("three");
        objects.add("#");
        objects.add("four");
        objects.add("#");
        objects.add("five");


        /**
         * boolean hasNext()
         * 通过迭代器询问集合是否还有下一个元素可供遍历
         *
         * E next()
         * 通过迭代器获取集合中的下一个元素
         */


        //迭代器应当指定泛型，而类型应当与集合中元素的类型一致,这里指的是String
        Iterator<String> it = objects.iterator();
        while (it.hasNext()) {
            String e = it.next();
            if ("#".equals(e)) {
                it.remove();
            }
        }
        System.out.println(objects);


        /**
         * 增强for来遍历
         */
        for (String object : objects) {
            System.out.println("object = " + object);
        }
    }
}
